Techniques for mobile device personalization

ABSTRACT

Techniques for mobile device personalization are described. In an embodiment, user credentials for an online service are received at a mobile device kiosk. The user credentials may be authenticated and, upon authentication, user data associated with the user credentials may be transferred to a mobile device of the mobile device kiosk. The user data may be transferred between the mobile device kiosk and a wireless transmitter embedded on a printed circuit board (PCB) of the mobile device. Further, the user data may be transferred to the mobile device without powering on the mobile device. Once the data transfer is complete, the mobile device may be provided to a user.

RELATED APPLICATION

This application claims the benefit of priority under 35 U.S.C. §119(e)to U.S. Provisional Application No. 61/877,671, filed Sep. 13, 2013,which is hereby incorporated by reference in its entirety.

BACKGROUND

A mobile device, such as a mobile telephone, may be manufactured andassembled in a factory overseas or in a facility in the United States.Most mobile devices are not built-to-order and, thus, are placed intoinventory until each individual unit is purchased by a customer. Devicesmay be in transit or sit in inventory for days, weeks, or months priorto purchase. Typically, a mobile device spends more time in transit to astorage facility, store, or other holding area, such as a vendingmachine, than the standby battery life of the device. Thus, devices maybe charged and turned off prior to leaving the factory. Since devicesmay be powered off after leaving the factory, a need exists for atechnique to update information within the device prior to providing apurchased device to a customer.

SUMMARY

The following presents a simplified summary in order to provide a basicunderstanding of some novel embodiments described herein. This summaryis not an extensive overview, and it is not intended to identifycritical elements or to delineate the scope thereof. Its sole purpose isto present some concepts in a simplified form as a prelude to the moredetailed description that is presented later.

Various embodiments are generally directed to techniques for mobiledevice personalization. Some embodiments are particularly directed totechniques for mobile device personalization in a social networkingenvironment such that a user's mobile device may be pre-loaded withcredentials for a social network prior to delivery to the user. In thismanner, profile information for the user may be retrieved by the mobiledevice prior to initialization of the mobile device.

In an embodiment, a radio-frequency identification module may be usedwithin the device to communicate customer information to a memory of thedevice prior to delivery of the device to a customer. Customers maypurchase devices online, from a store, or from a vending machine orkiosk. As such, customer information may be entered prior to purchase.Customer information may include payment information, credentials for asocial networking site, or other account information for an onlineservice. Prior to delivery of a mobile device, customer information maybe used to access other data related to the customer, such as aauthentication data for a user account, profile photo, other photos,contact information for members of a social graph, login information forone or more services, browsing history, bookmarks, preferences,advertising data, or provisioning information for a device. In thismanner, information may be preloaded to a device, and upon receiving apower-on operation after delivery, the preloaded information may be usedto personalize the device. Other embodiments are described and claimed.

To the accomplishment of the foregoing and related ends, certainillustrative aspects are described herein in connection with thefollowing description and the annexed drawings. These aspects areindicative of the various ways in which the principles disclosed hereincan be practiced and all aspects and equivalents thereof are intended tobe within the scope of the claimed subject matter. Other advantages andnovel features will become apparent from the following detaileddescription when considered in conjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an embodiment of a vending system.

FIG. 2 illustrates an embodiment of a mobile device.

FIG. 3A illustrates an embodiment of a printed circuit board.

FIG. 3B illustrates an embodiment of a printed circuit board.

FIG. 4 illustrates an embodiment of a logic flow.

FIG. 5 illustrates an embodiment of a logic flow.

FIG. 6 illustrates an embodiment of a centralized system.

FIG. 7 illustrates an embodiment of a distributed system.

FIG. 8 illustrates an embodiment of a computing architecture.

FIG. 9 illustrates an embodiment of a communications architecture.

FIG. 10 illustrates an embodiment of a social graph.

DETAILED DESCRIPTION

Various embodiments are generally directed to techniques for thepersonalization of mobile devices in a social networking environment.Some embodiments are particularly directed to techniques for mobiledevice personalization in a social networking environment such that auser's mobile device may be pre-loaded personalized information prior todelivery to the user. In this manner, information related to the usermay be retrieved by the mobile device prior to initialization of themobile device.

With general reference to notations and nomenclature used herein, thedetailed descriptions which follow may be presented in terms of programprocedures executed on a computer or network of computers. Theseprocedural descriptions and representations are used by those skilled inthe art to most effectively convey the substance of their work to othersskilled in the art. A procedure is here, and generally, conceived to bea self-consistent sequence of operations leading to a desired result.These operations are those requiring physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical, magnetic or optical signals capable of being stored,transferred, combined, compared, and otherwise manipulated. It provesconvenient at times, principally for reasons of common usage, to referto these signals as bits, values, elements, symbols, characters, terms,numbers, or the like. It should be noted, however, that all of these andsimilar terms are to be associated with the appropriate physicalquantities and are merely convenient labels applied to those quantities.

Further, the manipulations performed are often referred to in terms,such as adding or comparing, which are commonly associated with mentaloperations performed by a human operator. No such capability of a humanoperator is necessary, or desirable in most cases, in any of theoperations described herein, which form part of one or more embodiments.Rather, the operations are machine operations. Useful machines forperforming operations of various embodiments include general-purposedigital computers or similar devices.

Various embodiments also relate to apparatus or systems for performingthese operations. This apparatus may be specially constructed for therequired purpose or it may comprise a general-purpose computer asselectively activated or reconfigured by a computer program stored inthe computer. The procedures presented herein are not inherently relatedto a particular computer or other apparatus. Various general-purposemachines may be used with programs written in accordance with theteachings herein, or it may prove convenient to construct morespecialized apparatus to perform the required method steps. The requiredstructure for a variety of these machines will appear from thedescription given.

Reference is now made to the drawings, wherein like reference numeralsare used to refer to like elements throughout. In the followingdescription, for purposes of explanation, numerous specific details areset forth in order to provide a thorough understanding thereof. It maybe evident, however, that the novel embodiments can be practiced withoutthese specific details. In other instances, well-known structures anddevices are shown in block diagram form in order to facilitate adescription thereof. The intention is to cover all modifications,equivalents, and alternatives consistent with the claimed subjectmatter.

FIG. 1 illustrates one embodiment of mobile device kiosk 100. Kiosk 100may be a vending machine, or other retail unit included within a store,on the street, or placed in an airport or shopping mall, for example.Further, the functionality disclosed with respect to kiosk 100 mayoptionally be incorporated into other facilities, such as amanufacturing facility or point-of-sale system within a retailenvironment. Kiosk 100 may include one or more electronic devices andnetwork connections, as described further herein. For example, kiosk 100may be connected to one or more networks using a communicationframework, such as that illustrated within FIG. 9, described furtherherein. In addition, kiosk 100 may include one or more devices, such asthat illustrated within FIG. 8, described further herein.

Kiosk 100 may be connected, either using a wired or wireless connection,to an authentication server 112 and a mobile network 114. Authenticationserver 112 may be associated with an online service, such as a socialnetwork, wireless provider, device retailer, or other entity that mayauthenticate user credentials supplied to kiosk 100. In an embodiment,authentication server 112 may communicate with mobile network 114.Mobile network 114 may be a wireless network and include one or morenodes of a wireless carrier, such as any of those described furtherherein, and may be accessed to supply provisioning information, such assubscriber identify module (SIM) information, account information,billing information, or user data, to mobile devices within kiosk 100.In one example, mobile network 114 may provide virtual SIM informationto a mobile device 108. Virtual SIM information may include a softwareprofile which mimics a physical SIM card, complete with an internationalmobile subscriber identity number (IMSI) and authentication code, insome embodiments. In addition, virtual SIM information may include otherSIM card features such as phone contacts, or other additional customfeatures. In this manner, a mobile device 108 purchased by a user may beupdated, either prior to delivery to the user or upon powering on thedevice, with information necessary to connect to a mobile network 114.

Kiosk 100 may include mobile devices 108, which may include anyelectronic device capable of receiving, processing, and sendinginformation for the disclosed embodiments. Examples of an electronicdevice may include without limitation a mobile device, a personaldigital assistant (PDA), a mobile computing device, a smart phone, atelephone, a digital telephone, a cellular telephone, ebook readers, ahandset, a one-way pager, a two-way pager, a messaging device, acomputer, a personal computer (PC), a desktop computer, a laptopcomputer, a notebook computer, a netbook computer, a handheld computer,a tablet computer, consumer electronics, programmable consumerelectronics, game devices, television, digital television, set top box,or combination thereof. The embodiments are not limited in this context.

In an embodiment, kiosk 100 may include a display device 102, which maybe any type of display device known in the art, such as, but not limitedto, a LCD, LED, CRT, AMOLED, or other display and may also include atouch screen, whether resistive or capacitive. Input device 104 may becoupled or integrated into display 102 as a touch screen, making asingle component. Further, input device 104 may constitute a separatecomponent, such as a touch screen display, keyboard with mouse, or otherinput device known in the art. Further, input device may include one ormore wireless transmitters, such as RFID, Bluetooth, or NFC, and may beconfigured to accept data from a mobile device using such transmitters.In an example, a mobile device may send user credentials or purchasinginformation via a wireless connection to input device 104 to initiate apurchase of one or more of mobile devices 108.

A user of kiosk 100 may use display device 102 and/or input device 104to select a mobile device 108 for purchase. In addition, a user mayinput credentials or purchasing information. User credentials mayinclude username, password, email address, or other identifyinginformation. Purchasing information may include credit card information,mobile payment information, virtual currency information, or otherpayment information necessary to make a purchase. Kiosk 100 may usereceived purchasing information to authorize payment of a mobile device108. Further, kiosk 100, using a network connection to authenticationserver 112, may authenticate the user credentials, and accessinformation related to the user from a social network or other service.Information related to the user may include authentication data for auser account, profile photo, other photos, contact information formembers of a social graph, login information for one or more services,browsing history, bookmarks, preferences, or advertising data.Information related to the user may be stored locally within kiosk 100and subsequently transferred using RFID reader unit 106 to a selectedmobile device 108, as described below.

In an embodiment, kiosk 100 may include RFID reader unit 106. RFIDreader unit may be any radio frequency identification transmission andreception device capable of sending or receiving data to a compatibleRFID device. For example, RFID reader unit 106 may communicate overultra-high frequency (UHF) bands, typically between 300 MHz and 3 GHz(3,000 MHz). Of course, other radio frequency bands may be used. Inaddition, RFID reader unit 106 may be replaced with a wireless modulethat operates using other wireless protocols, such as near-fieldcommunication (NFC), Wi-Fi, Wi-Fi Direct, or a wired connection such asUSB. In any event, RFID reader unit 106 may be used to transmit datarelated to a customer to a mobile device 108. During such a transfer,mobile device 108 may not need to be powered on, as the data transfertakes place using power provided by RFID reader unit 106, for example.Data may be transferred to a corresponding RFID module contained withinmobile 108, and data may be stored in a non-volatile memory (NVM), orother memory device, within mobile device 108.

In an embodiment, a user may take a mobile device that is already ownedto a kiosk, such as kiosk 100 equipped with RFID reader unit 106. RFIDreader unit 106 may be configured to accept user data from a user'scurrent device using a local data connection, store the user informationin a memory unit of kiosk 100 (not shown), and transfer the user data toa new mobile device 108. In this manner, a user may perform a deviceupgrade using kiosk 100 using only a local data connection, and mayavoid potentially expensive or time consuming data costs associated withreprogramming a new device via a network data connection.

In an embodiment, kiosk 100 may include a connectivity module 110, whichmay be a wired Ethernet connection module, wireless module supportingcellular and/or Wi-Fi connection, or other module compatible with any ofthe communications techniques described herein. Connectivity module 110may be used by kiosk 100 to update product information, inventoryinformation, prices of products, or to communicate information about auser with one or more network-based services, such as authenticationserver 112 and mobile network 114, for example.

In an embodiment, information about a mobile device 108, such as aserial number or IMEI number, may be transmitted via connectivity moduleto either authentication server 112, mobile network 114, or both, andthe information may be authenticated. Information about a mobile devicemay be transmitted along with user credential information. Thus, amobile device 108 may be authenticated along with received usercredentials. For example, user credentials may be used to authenticate auser and device information may be used to authenticate a device with awireless carrier. Authentication may include verifying a state of amobile device, such as determining whether the mobile device is stolenby accessing records at a wireless carrier registering stolen devices.Authentication may further include determining whether a version ofsoftware on a mobile device is compatible with a network or futurenetwork operation.

Once authentication is complete, a device purchase procedure may takeplace with a mobile operator using mobile network 114. In an embodiment,a mobile operator may send instructions to kiosk 100 indicating that auser's credentials have been authenticated and that mobile device may bepurchased by the user. For example, a user may need to qualify for anupgrade, or an account may need to be in good standing, to purchase amobile device 108. In some embodiments, payment methods may be used forthe purchase of a mobile device or virtual SIM. Payment methods mayinclude, but are not limited to, credits from a social network, webservice, application store, carrier network, or credit card information.Once a user has been approved to purchase a device, a mobile operator,via mobile network 114, may provide a VSIM, which may be used toprovision a mobile device 108 for the user's account. As describedherein, additional data may then be populated in mobile device 108.

FIG. 2 illustrates an embodiment of a mobile device 200, which maycorrespond to mobile device 108, described above. Mobile device 200,which may be similar to that described herein with respect to FIG. 6,may include a CPU 206, which may be connected to a NVM 208. As describedabove, mobile device 200 may be sold to customers using a vendingmachine, online, or within a physical retail location. Aftermanufacture, but before delivery to a customer, mobile device 200 mayreceive information about a customer using a RFID reader unit, such asRFID reader unit 106, described above.

In an embodiment, mobile device 200 may include RFID module 202. RFIDmodule 202 may be any radio frequency identification transmission andreception device capable of sending or receiving data to anothercompatible RFID device. For example, RFID module 202 may communicateover ultra-high frequency (UHF) bands, typically between 300 MHz and 3GHz (3,000 MHz). The use of UHF frequency bands may allow the transferof data through product packaging, for example. Of course, other radiofrequency bands may be used. In addition, RFID module 202 may bereplaced with another type of wireless module utilizing other protocols,such as near-field communication (NFC) or Wi-Fi, for example. In anyevent, RFID module 202 may be used to receive data related to a customerfor storage in mobile device 200. During such a transfer, mobile device200 may not need to be powered on, as the data transfer takes placeusing power provided by a RFID reader unit, such as RFID reader unit106, for example. Received data may be stored in a non-volatile memory,or other memory device, within mobile device 200, such as NVM 208. Forexample, RFID module 202 may directly communicate received data to NVM208 via bus 210, which may be an inter-integrated circuit (I2C) bus, orother communication bus described herein or otherwise known in the art.

An embodiment may utilize a UHF-based RFID module. With a UHF-based RFIDsystem, the location of the reader may be separated farther from thedevice, which may simplify or make possible the mechanical design of avending machine or kiosk. For example, typically in kiosks, products aredropped or shuttled into a staging area for the customer to retrieve.The staging area is usually dependent on the original location of thedevice. This may make it very difficult for a near-field protocol likeNFC (typically with 4 cm read range) to work in this environment. Inprinciple, the RFID reader unit in an enclosed metal kiosk could addressthe mobile device 200 before it is dispatched. Received data may bestored in a non-volatile memory, or other memory device, within mobiledevice 200, such as NVM 208.

In some embodiments, mobile device 200 may include an I2C bus 204,connecting RFID module 202 with CPU 206. The use of an I2C bus may allowmobile device 200 to transfer information received at RFID module 202 toNVM 202 without performing a full power-on operation. Of course, otherbuses and connection techniques may be used to transfer data from RFIDmodule 202 to NVM 208. Upon receipt of data at RFID module 202, a wakecommand may be sent to CPU 206, which will then temporarily wake up forthe purpose of saving data to the NVM. In this manner, mobile device 200may be left turned off, and may remain turned off while a data transfertakes place using RFID module 202.

Using RFID module 202, information related to a user purchasing mobiledevice 200 may be transferred to NVM 200. Such information may includeauthentication data for a user account, profile photo, other photos,contact information for members of a social graph, login information forone or more services, browsing history, bookmarks, preferences, oradvertising data.

FIG. 3A illustrates one embodiment of a printed circuit board (PCB) 300.PCB 300 may include a plurality of components, such as those describedabove with respect to FIG. 2. For example, PCB 300 may include aprocessor, one or more memory units, and other electronic components,such as circuit elements. Components of PCB 300 have been limited tothose shown for purposes of illustration, and not limitation. PCB 300may comprise one or more layers, which may be copper sheets laminatedonto a non-conductive, dielectric, substrate, for example. Asillustrated in FIG. 3A, PCB 300 includes six such layers 308, however,more or less layers may be used.

In an embodiment, PCB 300 may include one more power amplifiers, such aspower amplifier 304. Power amplifier 304 may be used to increase thepower of a signal, such as a wireless signal in a mobile device, and maybe coupled to an antenna of a mobile device, which may be a component ofPCB 300 (not shown). The inclusion of an antenna directly on PCB 300 mayallow for communication of information from a mobile device kiosk to amobile device, as discussed in more detail above. In addition, PCB 300may include RFID module 302 and RFID antenna 303. RFID module 302 may besimilar to RFID module 202, described above with respect to FIG. 2.While an RFID module is illustrated, it can be appreciate that anywireless transmission module may be used.

As illustrated within FIG. 3A, interference 306 may be emitted frompower amplifier 304. In an example, as power amplifier 304 covertslower-power radio-frequency signals into larger signals of higher power,interference 306, or noise, may be emitted and may have a negativeimpact on components within a range. In one example, the performance ofRFID module 302 may be negatively impacted by interference 306. Further,interference leaking from a mobile device may be of a level that isunacceptable to regulatory authorities. For this reason, it may bedifficult to place wireless modules directly on PCBs due to performanceand regulatory requirements.

However, as shown in FIG. 3A, PCB 300 may include one or more vias. Via310 and via 312 may comprise a path through one or more layers of PCB300 that provide electrical connections between layers. Some vias, suchas via 310, may only connect a small number of layers. Other vias, suchas via 312, may be situated in between a source of interference (e.g.power amplifier 304) and a wireless module (RFID module 302) and mayprovide a connection between many layers, or all layers of PCB 300, andmay be referred to as a through-via. As shown, via 312 comprises a holebetween all six layers 308 of PCB 300, which may be used for connectingcomponents of the PCB. In an embodiment, the depth of a via may bedetermined based upon a threshold level of interference, which may bedetermined by regulatory requirements or performance requirements. Theplacement of via 312 between a source of interference and a wirelessmodule may provide significantly lower levels of interference 306, thusallowing for placement of a wireless module on PCB 300 withoutsignificant interference from power amplifier 304.

In an embodiment, to further limit interference from power amplifier304, a ferromagnetic layer 314 may be situated above power amplifier 304and within a power amplifier shield 316. In one embodiment,ferromagnetic layer 314 may be situated on an inner surface of poweramplifier shield 316. Ferromagnetic layer 314 may include one or moreferromagnetic materials, which may include a composite of differentmagnetic and metallic materials that absorb RF energy and may lower theamount of interference emitted by power amplifier 304. In an embodiment,a small layer, such as a 0.1 mm layer, of ferromagnetic material may beused. In this manner, the amount of interference, or noise, emittedoutside a mobile device may be reduced. Further, power amplifier shield316 and ferromagnetic layer 314 may act as a heat conductor and spreadheat from the electronic components under the shield. The embodimentsare not limited by this example.

FIG. 3B illustrates one embodiment of PCB 300. PCB 300 may include aplurality of components, such as those described above with respect toFIG. 3A. For example, PCB 300 may include a processor, one or morememory units, and other electronic components, such as circuit elements.Components of PCB 300 have been limited to those shown for purposes ofillustration, and not limitation. PCB 300 may comprise one or morelayers, which may be copper sheets laminated onto a non-conductivesubstrate, for example. As illustrated in FIG. 3A above, PCB 300includes six such layers, however, more or less layers may be used.

In FIG. 3B, PCB is illustrated from a top-down view, showing poweramplifier 304, power amplifier shield 316 (which may also includeferromagnetic layer 314), RFID module 302, and RFID antenna 303. Theseelements are shown for purposes of illustration, and not limitation, andit can be appreciated that PCB 300 may include many additional elements.As illustrated, a plurality of vias may be situated between poweramplifier 304 and RFID module 302/RFID antenna 303. In an embodiment,two different types of vias may be situated between power amplifier 304and RFID module 302/RFID antenna 303, however, only a single type ofvia, or many types of vias may be used based upon particularimplementations. In one example, two-layer vias, such as via 310, may beused in combination with though-vias (going through all six layers),such as via 312. While a particular via orientation is illustratedwithin FIG. 3B, it can be appreciated that other orientations may beused based upon particular implementations. For example, more or lessthrough-vias 312 may be used based upon an amount of interference ornoise generated by power amplifier 304, or an amount of interference ornoise leakage desired based upon regulatory requirements.

Included herein is a set of flow charts representative of exemplarymethodologies for performing novel aspects of the disclosedarchitecture. While, for purposes of simplicity of explanation, the oneor more methodologies shown herein, for example, in the form of a flowchart or flow diagram, are shown and described as a series of acts, itis to be understood and appreciated that the methodologies are notlimited by the order of acts, as some acts may, in accordance therewith,occur in a different order and/or concurrently with other acts from thatshown and described herein. For example, those skilled in the art willunderstand and appreciate that a methodology could alternatively berepresented as a series of interrelated states or events, such as in astate diagram. Moreover, not all acts illustrated in a methodology maybe required for a novel implementation.

FIG. 4 illustrates one embodiment of a logic flow 400. The logic flow400 may be representative of some or all of the operations executed byone or more embodiments described herein. For example, logic flow 400may be performed using the kiosk illustrated within FIG. 1, describedabove. Logic flow 400 at block 410 may receive credentials or other userinformation from a user input device at a kiosk, such as a vendingmachine or point-of-sale terminal within a retail environment. In anembodiment, user credentials or other information may be received via anetwork, such as the internet, in an online shopping environment. Usercredentials may be login information, such as the username, emailaddress, or password for a social network or other online service.Further, user credentials may include payment information for thepurchase of a mobile device. In an embodiment, mobile device informationfrom one or more mobile devices available for sale, such as a serialnumber or IMEI number, may also be collected by a kiosk.

In an embodiment, logic flow 400 at block 420 may authenticate receiveduser credentials with an authentication server, such as authenticationserver 112, discussed above. For example, login information for a socialnetwork may be authenticated and a confirmation of authentication may beprovided to a kiosk. Likewise, device information may be authenticatedwith a mobile carrier or other service. Upon authentication, a kiosk mayobtain user data from a social network or other service at 430. Suchinformation may include authentication data for a user account, profilephoto, other photos, contact information for members of a social graph,login information for one or more services, browsing history, bookmarks,preferences, or advertising data, for example. In addition, in someembodiments, VSIM, or other provisioning information may be obtainedfrom a mobile network.

Logic flow 400 at block 440 may transmit user data and/or provisioninginformation to a mobile device. For example, a mobile device may bepurchased by a user from a vending machine, online store, or retailstore. After an intent to purchase, or purchase, has been made by theuser, but before delivery of the mobile device to the user, informationabout the user, as described above, may be transferred to the mobiledevice. The information may be transferred using corresponding RFIDmodules in a vending machine and a mobile device, however, in onlineenvironments a RFID module may be present in a fulfillment center, or ina retail environment, a RFID module may be present at a point-of-saleterminal. In one embodiment, upon confirmation of authentication,pre-loaded user profile information stored locally at a kiosk may betransmitted to a mobile device. In another embodiment, profileinformation may be transmitted over a network.

In an embodiment, device information may be used to authenticate andprovision a mobile device. For example, user credentials may be used toauthenticate a user and device information may be used to authenticate adevice with a wireless carrier. Authentication may include verifying astate of a mobile device, such as determining whether the mobile deviceis stolen by accessing records at a wireless carrier registering stolendevices. Authentication may further include determining whether aversion of software on a mobile device is compatible with a network orfuture network operation. Once authentication is complete, a devicepurchase procedure may take place with a mobile operator using a mobilenetwork. In an embodiment, a mobile operator may send instructions to akiosk indicating that a user's credentials have been authenticated andthat mobile device may be purchased by the user. For example, a user mayneed to qualify for an upgrade, or an account may need to be in goodstanding, to purchase a mobile device. Once a user has been approved topurchase a device, a mobile operator may provide a VSIM or otherprovisioning information, which may be used to provision a mobile devicefor the user's account.

Logic flow 400 at block 450 provides the mobile device to a user, withinformation preloaded into a memory, such as NVM 208, described above.

FIG. 5 illustrates one embodiment of a logic flow 500 according to oneembodiment. Logic flow 500 may be performed by a mobile device, such asmobile device 200, described above. At block 510 of logic flow 500, amobile device may detect a power-on instruction. Upon detection, themobile device may perform one or more device initialization steps, forexample.

In an embodiment, logic flow 500 at block 520 may perform a check withina memory, such as a NVM, of a mobile device for a user datainitialization flag. Such a flag may be an indication to software thatuser data has been preloaded onto the device using one of the techniquesdescribed herein. Such a check may be performed shortly after a power-oninstruction has been detected, and prior to a device being fully poweredon for a user. For example, such a check may be performed during adevice initialization or setup procedure.

Logic flow 500 at block 530 may retrieve data stored in a NVM of amobile device. Logic flow 500 at block 530 may use retrieved data storedin the NVM related to the user, such as user credentials for a socialnetworking site, to retrieve further user data. User data may beretrieved over a network connection, such as a cellular or Wi-Ficonnection, for example. Certain information about the user or otherwiserelated to the user, such as authentication data for a user account,profile photo, other photos, contact information for members of a socialgraph, login information for one or more services, browsing history,bookmarks, preferences, or advertising data, may be retrieved at thistime.

Logic flow 500 at block 550 may use the retrieved user information topopulate a user profile on the mobile device. This may include setting auser's profile photo on the mobile device, populating contactinformation from the user's social graph, setting user preferences suchas privacy, notifications, advertising, or application-specificpreferences, populating bookmarks or browsing history to a browserapplication of the mobile device, or populating any other informationabout the user.

FIG. 6 illustrates a block diagram of a centralized system 600. Thecentralized system 600 may implement some or all of the structure and/oroperations for the disclosed embodiments in a single computing entity,such as entirely within a single device 610.

The device 610 may comprise any electronic device capable of receiving,processing, and sending information for the disclosed embodiments.Examples of an electronic device may include without limitation anultra-mobile device, a mobile device, a personal digital assistant(PDA), a mobile computing device, a smart phone, a telephone, a digitaltelephone, a cellular telephone, ebook readers, a handset, a one-waypager, a two-way pager, a messaging device, a computer, a personalcomputer (PC), a desktop computer, a laptop computer, a notebookcomputer, a netbook computer, a handheld computer, a tablet computer, aserver, a server array or server farm, a web server, a network server,an Internet server, a work station, a mini-computer, a main framecomputer, a supercomputer, a network appliance, a web appliance, adistributed computing system, multiprocessor systems, processor-basedsystems, consumer electronics, programmable consumer electronics, gamedevices, television, digital television, set top box, wireless accesspoint, base station, subscriber station, mobile subscriber center, radionetwork controller, router, hub, gateway, bridge, switch, machine, orcombination thereof. The embodiments are not limited in this context.

The device 610 may execute processing operations or logic for thedisclosed embodiments using a processing component 630. The processingcomponent 630 may comprise various hardware elements, software elements,or a combination of both. Examples of hardware elements may includedevices, logic devices, components, processors, microprocessors,circuits, processor circuits, circuit elements (e.g., transistors,resistors, capacitors, inductors, and so forth), integrated circuits,application specific integrated circuits (ASIC), programmable logicdevices (PLD), digital signal processors (DSP), field programmable gatearray (FPGA), memory units, logic gates, registers, semiconductordevice, chips, microchips, chip sets, and so forth. Examples of softwareelements may include software components, programs, applications,computer programs, application programs, system programs, softwaredevelopment programs, machine programs, operating system software,middleware, firmware, software modules, routines, subroutines,functions, methods, procedures, software interfaces, application programinterfaces (API), instruction sets, computing code, computer code, codesegments, computer code segments, words, values, symbols, or anycombination thereof. Determining whether an embodiment is implementedusing hardware elements and/or software elements may vary in accordancewith any number of factors, such as desired computational rate, powerlevels, heat tolerances, processing cycle budget, input data rates,output data rates, memory resources, data bus speeds and other design orperformance constraints, as desired for a given implementation.

The device 610 may execute communications operations or logic for thedisclosed embodiments using communications component 640. Thecommunications component 640 may implement any well-known communicationstechniques and protocols, such as techniques suitable for use withpacket-switched networks (e.g., public networks such as the Internet,private networks such as an enterprise intranet, and so forth),circuit-switched networks (e.g., the public switched telephone network),or a combination of packet-switched networks and circuit-switchednetworks (with suitable gateways and translators). The communicationscomponent 640 may include various types of standard communicationelements, such as one or more communications interfaces, networkinterfaces, network interface cards (NIC), radios, wirelesstransmitters/receivers (transceivers), wired and/or wirelesscommunication media, physical connectors, and so forth. By way ofexample, and not limitation, communication media 609, 649 include wiredcommunications media and wireless communications media. Examples ofwired communications media may include a wire, cable, metal leads,printed circuit boards, backplanes, switch fabrics, semiconductormaterial, twisted-pair wire, co-axial cable, fiber optics, a propagatedsignal, and so forth. Examples of wireless communications media mayinclude acoustic, radio-frequency (RF) spectrum, infrared and otherwireless media.

The device 610 may communicate with other devices 605, 645 over acommunications media 609, 649, respectively, using communicationssignals 607, 647, respectively, via the communications component 640.The devices 605, 645 may be internal or external to the device 610 asdesired for a given implementation.

FIG. 7 illustrates a block diagram of a distributed system 700. Thedistributed system 700 may distribute portions of the structure and/oroperations for the disclosed embodiments across multiple computingentities. Examples of distributed system 700 may include withoutlimitation a client-server architecture, a 3-tier architecture, anN-tier architecture, a tightly-coupled or clustered architecture, apeer-to-peer architecture, a master-slave architecture, a shareddatabase architecture, and other types of distributed systems. Theembodiments are not limited in this context.

The distributed system 700 may comprise a client device 710 and a serverdevice 740. In general, the client device 710 and the server device 740may be the same or similar to the client device 610 as described withreference to FIG. 6. For instance, the client system 710 and the serversystem 740 may each comprise a processing component 720, 750 and acommunications component 730, 760 which are the same or similar to theprocessing component 630 and the communications component 640,respectively, as described with reference to FIG. 6. In another example,the devices 710, 740 may communicate over a communications media 705using communications signals 707 via the communications components 730,760.

The client device 710 may comprise or employ one or more client programsthat operate to perform various methodologies in accordance with thedescribed embodiments. In one embodiment, for example, the client device710 may implement some steps described with respect to FIGS. 4 and 5.

The server device 740 may comprise or employ one or more server programsthat operate to perform various methodologies in accordance with thedescribed embodiments. In one embodiment, for example, the server device740 may implement some steps described with respect to FIGS. 4 and 5.

FIG. 8 illustrates an embodiment of an exemplary computing architecture800 suitable for implementing various embodiments as previouslydescribed. In one embodiment, the computing architecture 800 maycomprise or be implemented as part of an electronic device, such ascomputer 802. Examples of an electronic device may include thosedescribed herein. The embodiments are not limited in this context.

As used in this application, the terms “system” and “component” areintended to refer to a computer-related entity, either hardware, acombination of hardware and software, software, or software inexecution, examples of which are provided by the exemplary computingarchitecture 800. For example, a component can be, but is not limited tobeing, a process running on a processor, a processor, a hard disk drive,multiple storage drives (of optical and/or magnetic storage medium), anobject, an executable, a thread of execution, a program, and/or acomputer. By way of illustration, both an application running on aserver and the server can be a component. One or more components canreside within a process and/or thread of execution, and a component canbe localized on one computer and/or distributed between two or morecomputers. Further, components may be communicatively coupled to eachother by various types of communications media to coordinate operations.The coordination may involve the uni-directional or bi-directionalexchange of information. For instance, the components may communicateinformation in the form of signals communicated over the communicationsmedia. The information can be implemented as signals allocated tovarious signal lines. In such allocations, each message is a signal.Further embodiments, however, may alternatively employ data messages.Such data messages may be sent across various connections. Exemplaryconnections include parallel interfaces, serial interfaces, and businterfaces.

The computing architecture 800 includes various common computingelements, such as one or more processors, multi-core processors,co-processors, memory units, chipsets, controllers, peripherals,interfaces, oscillators, timing devices, video cards, audio cards,multimedia input/output (I/O) components, power supplies, and so forth.The embodiments, however, are not limited to implementation by thecomputing architecture 800.

As shown in FIG. 8, the computing architecture 800 comprises aprocessing unit 804, a system memory 806 and a system bus 808. Theprocessing unit 804 can be any of various commercially availableprocessors, including without limitation an AMD® Athlon®, Duron® andOpteron® processors; ARM® application, embedded and secure processors;IBM® and Motorola® DragonBall® and PowerPC® processors; IBM and Sony®Cell processors; Intel® Celeron®, Core (2) Duo®, Itanium®, Pentium®,Xeon®, and XScale® processors; and similar processors. Dualmicroprocessors, multi-core processors, and other multi-processorarchitectures may also be employed as the processing unit 804.

The system bus 808 provides an interface for system componentsincluding, but not limited to, the system memory 806 to the processingunit 804. The system bus 808 can be any of several types of busstructure that may further interconnect to a memory bus (with or withouta memory controller), a peripheral bus, and a local bus using any of avariety of commercially available bus architectures. Interface adaptersmay connect to the system bus 808 via a slot architecture. Example slotarchitectures may include without limitation Accelerated Graphics Port(AGP), Card Bus, (Extended) Industry Standard Architecture ((E)ISA),Micro Channel Architecture (MCA), NuBus, Peripheral ComponentInterconnect (Extended) (PCI(X)), PCI Express, Personal Computer MemoryCard International Association (PCMCIA), and the like.

The computing architecture 800 may comprise or implement variousarticles of manufacture. An article of manufacture may comprise acomputer-readable storage medium to store logic. Examples of acomputer-readable storage medium may include any tangible media capableof storing electronic data, including volatile memory or non-volatilememory, removable or non-removable memory, erasable or non-erasablememory, writeable or re-writeable memory, and so forth. Examples oflogic may include executable computer program instructions implementedusing any suitable type of code, such as source code, compiled code,interpreted code, executable code, static code, dynamic code,object-oriented code, visual code, and the like. Embodiments may also beat least partly implemented as instructions contained in or on anon-transitory computer-readable medium, which may be read and executedby one or more processors to enable performance of the operationsdescribed herein.

The system memory 806 may include various types of computer-readablestorage media in the form of one or more higher speed memory units, suchas read-only memory (ROM), random-access memory (RAM), dynamic RAM(DRAM), Double-Data-Rate DRAM (DDRAM), synchronous DRAM (SDRAM), staticRAM (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM),electrically erasable programmable ROM (EEPROM), flash memory, polymermemory such as ferroelectric polymer memory, ovonic memory, phase changeor ferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS)memory, magnetic or optical cards, an array of devices such as RedundantArray of Independent Disks (RAID) drives, solid state memory devices(e.g., USB memory, solid state drives (SSD) and any other type ofstorage media suitable for storing information. In the illustratedembodiment shown in FIG. 8, the system memory 806 can includenon-volatile memory 810 and/or volatile memory 813. A basic input/outputsystem (BIOS) can be stored in the non-volatile memory 810.

The computer 802 may include various types of computer-readable storagemedia in the form of one or more lower speed memory units, including aninternal (or external) hard disk drive (HDD) 814, a magnetic floppy diskdrive (FDD) 816 to read from or write to a removable magnetic disk 818,and an optical disk drive 820 to read from or write to a removableoptical disk 822 (e.g., a CD-ROM, DVD, or Blu-ray). The HDD 814, FDD 816and optical disk drive 820 can be connected to the system bus 808 by aHDD interface 824, an FDD interface 826 and an optical drive interface828, respectively. The HDD interface 824 for external driveimplementations can include at least one or both of Universal Serial Bus(USB) and IEEE 1394 interface technologies.

The drives and associated computer-readable media provide volatileand/or nonvolatile storage of data, data structures, computer-executableinstructions, and so forth. For example, a number of program modules canbe stored in the drives and memory units 810, 813, including anoperating system 830, one or more application programs 832, otherprogram modules 834, and program data 836. In one embodiment, the one ormore application programs 832, other program modules 834, and programdata 836 can include, for example, the various applications and/orcomponents to implement the disclosed embodiments.

A user can enter commands and information into the computer 802 throughone or more wire/wireless input devices, for example, a keyboard 838 anda pointing device, such as a mouse 840. Other input devices may includemicrophones, infra-red (IR) remote controls, radio-frequency (RF) remotecontrols, game pads, stylus pens, card readers, dongles, finger printreaders, gloves, graphics tablets, joysticks, keyboards, retina readers,touch screens (e.g., capacitive, resistive, etc.), trackballs,trackpads, sensors, styluses, and the like. These and other inputdevices are often connected to the processing unit 804 through an inputdevice interface 842 that is coupled to the system bus 808, but can beconnected by other interfaces such as a parallel port, IEEE 1394 serialport, a game port, a USB port, an IR interface, and so forth.

A display 844 is also connected to the system bus 808 via an interface,such as a video adaptor 846. The display 844 may be internal or externalto the computer 802. In addition to the display 844, a computertypically includes other peripheral output devices, such as speakers,printers, and so forth.

The computer 802 may operate in a networked environment using logicalconnections via wire and/or wireless communications to one or moreremote computers, such as a remote computer 848. The remote computer 848can be a workstation, a server computer, a router, a personal computer,portable computer, microprocessor-based entertainment appliance, a peerdevice or other common network node, and typically includes many or allof the elements described relative to the computer 802, although, forpurposes of brevity, only a memory/storage device 850 is illustrated.The logical connections depicted include wire/wireless connectivity to alocal area network (LAN) 852 and/or larger networks, for example, a widearea network (WAN) 854. Such LAN and WAN networking environments arecommonplace in offices and companies, and facilitate enterprise-widecomputer networks, such as intranets, all of which may connect to aglobal communications network, for example, the Internet.

When used in a LAN networking environment, the computer 802 is connectedto the LAN 852 through a wire and/or wireless communication networkinterface or adaptor 856. The adaptor 856 can facilitate wire and/orwireless communications to the LAN 852, which may also include awireless access point disposed thereon for communicating with thewireless functionality of the adaptor 856.

When used in a WAN networking environment, the computer 802 can includea modem 858, or is connected to a communications server on the WAN 854,or has other means for establishing communications over the WAN 854,such as by way of the Internet. The modem 858, which can be internal orexternal and a wire and/or wireless device, connects to the system bus808 via the input device interface 842. In a networked environment,program modules depicted relative to the computer 802, or portionsthereof, can be stored in the remote memory/storage device 850. It willbe appreciated that the network connections shown are exemplary andother means of establishing a communications link between the computerscan be used.

The computer 802 is operable to communicate with wire and wirelessdevices or entities using the IEEE 802 family of standards, such aswireless devices operatively disposed in wireless communication (e.g.,IEEE 802.11 over-the-air modulation techniques). This includes at leastWi-Fi (or Wireless Fidelity), WiMax, and Bluetooth™ wirelesstechnologies, among others. Thus, the communication can be a predefinedstructure as with a conventional network or simply an ad hoccommunication between at least two devices. Wi-Fi networks use radiotechnologies called IEEE 802.11x (a, b, g, n, etc.) to provide secure,reliable, fast wireless connectivity. A Wi-Fi network can be used toconnect computers to each other, to the Internet, and to wire networks(which use IEEE 802.3-related media and functions).

FIG. 9 illustrates a block diagram of an exemplary communicationsarchitecture 900 suitable for implementing various embodiments aspreviously described. The communications architecture 900 includesvarious common communications elements, such as a transmitter, receiver,transceiver, radio, network interface, baseband processor, antenna,amplifiers, filters, power supplies, and so forth. The embodiments,however, are not limited to implementation by the communicationsarchitecture 900.

As shown in FIG. 9, the communications architecture 900 comprisesincludes one or more clients 910 and servers 940. The clients 910 mayimplement the client device 710. The servers 940 may implement theserver device 740. The clients 910 and the servers 940 are operativelyconnected to one or more respective client data stores 920 and serverdata stores 950 that can be employed to store information local to therespective clients 910 and servers 940, such as cookies and/orassociated contextual information.

The clients 910 and the servers 940 may communicate information betweeneach other using a communication framework 930. The communicationsframework 930 may implement any well-known communications techniques andprotocols. The communications framework 930 may be implemented as apacket-switched network (e.g., public networks such as the Internet,private networks such as an enterprise intranet, and so forth), acircuit-switched network (e.g., the public switched telephone network),or a combination of a packet-switched network and a circuit-switchednetwork (with suitable gateways and translators).

The communications framework 930 may implement various networkinterfaces arranged to accept, communicate, and connect to acommunications network. A network interface may be regarded as aspecialized form of an input output interface. Network interfaces mayemploy connection protocols including without limitation direct connect,Ethernet (e.g., thick, thin, twisted pair 10/100/1000 Base T, and thelike), token ring, wireless network interfaces, cellular networkinterfaces, IEEE 802.11a-x network interfaces, IEEE 802.16 networkinterfaces, IEEE 802.20 network interfaces, and the like. Further,multiple network interfaces may be used to engage with variouscommunications network types. For example, multiple network interfacesmay be employed to allow for the communication over broadcast,multicast, and unicast networks. Should processing requirements dictatea greater amount speed and capacity, distributed network controllerarchitectures may similarly be employed to pool, load balance, andotherwise increase the communicative bandwidth required by clients 910and the servers 940. A communications network may be any one and thecombination of wired and/or wireless networks including withoutlimitation a direct interconnection, a secured custom connection, aprivate network (e.g., an enterprise intranet), a public network (e.g.,the Internet), a Personal Area Network (PAN), a Local Area Network(LAN), a Metropolitan Area Network (MAN), an Operating Missions as Nodeson the Internet (OMNI), a Wide Area Network (WAN), a wireless network, acellular network, and other communications networks.

FIG. 10 illustrates an example of a social graph 1000. In one or more ofthe embodiments described herein, a social graph may be accessed anddata therefrom may be preloaded into a device, or accessed using userinformation preloaded into a device. In particular embodiments, asocial-networking service may store one or more social graphs 1000 inone or more data stores. In particular embodiments, social graph 1000may include multiple nodes, which may include multiple user nodes 1002and multiple concept nodes 1004. Social graph 1000 may include multipleedges 1006 connecting the nodes. In particular embodiments, asocial-networking service, client system, third-party system, or anyother system or device may access social graph 1000 and relatedsocial-graph information for suitable applications. The nodes and edgesof social graph 1000 may be stored as data objects, for example, in adata store (such as a social-graph database). Such a data store mayinclude one or more searchable or queryable indexes of nodes or edges ofsocial graph 1000.

In particular embodiments, a user node 1002 may correspond to a user ofthe social-networking service. As an example and not by way oflimitation, a user may be an individual (human user), an entity (e.g.,an enterprise, business, or third-party application), or a group (e.g.,of individuals or entities) that interacts or communicates with or overthe social-networking service. In particular embodiments, when a userregisters for an account with the social-networking service, thesocial-networking service may create a user node 1002 corresponding tothe user, and store the user node 1002 in one or more data stores. Usersand user nodes 1002 described herein may, where appropriate, refer toregistered users and user nodes 1002 associated with registered users.In addition or as an alternative, users and user nodes 1002 describedherein may, where appropriate, refer to users that have not registeredwith the social-networking service. In particular embodiments, a usernode 1002 may be associated with information provided by a user orinformation gathered by various systems, including the social-networkingservice. As an example and not by way of limitation, a user may providetheir name, profile picture, contact information, birth date, sex,marital status, family status, employment, education background,preferences, interests, or other demographic information. In particularembodiments, a user node 1002 may be associated with one or more dataobjects corresponding to information associated with a user. Inparticular embodiments, a user node 1002 may correspond to one or morewebpages.

In particular embodiments, a concept node 1004 may correspond to aconcept. As an example and not by way of limitation, a concept maycorrespond to a place (such as, for example, a movie theater,restaurant, landmark, or city); a website (such as, for example, awebsite associated with the social-network service or a third-partywebsite associated with a web-application server); an entity (such as,for example, a person, business, group, sports team, or celebrity); aresource (such as, for example, an audio file, video file, digitalphoto, text file, structured document, or application) which may belocated within the social-networking service or on an external server,such as a web-application server; real or intellectual property (suchas, for example, a sculpture, painting, movie, game, song, idea,photograph, or written work); a game; an activity; an idea or theory;another suitable concept; or two or more such concepts. A concept node1004 may be associated with information of a concept provided by a useror information gathered by various systems, including thesocial-networking service. As an example and not by way of limitation,information of a concept may include a name or a title; one or moreimages (e.g., an image of the cover page of a book); a location (e.g.,an address or a geographical location); a website (which may beassociated with a URL); contact information (e.g., a phone number, SIMinformation as described above, or an email address); other suitableconcept information; or any suitable combination of such information. Inparticular embodiments, a concept node 1004 may be associated with oneor more data objects corresponding to information associated withconcept node 1004. In particular embodiments, a concept node 1004 maycorrespond to one or more webpages.

In particular embodiments, a node in social graph 1000 may represent orbe represented by a webpage (which may be referred to as a “profilepage”). Profile pages may be hosted by or accessible to thesocial-networking service. Profile pages may also be hosted onthird-party websites associated with a third-party server. As an exampleand not by way of limitation, a profile page corresponding to aparticular external webpage may be the particular external webpage andthe profile page may correspond to a particular concept node 1004.Profile pages may be viewable by all or a selected subset of otherusers. As an example and not by way of limitation, a user node 1002 mayhave a corresponding user-profile page in which the corresponding usermay add content, make declarations, or otherwise express himself orherself. As another example and not by way of limitation, a concept node1004 may have a corresponding concept-profile page in which one or moreusers may add content, make declarations, or express themselves,particularly in relation to the concept corresponding to concept node1004.

In particular embodiments, a concept node 1004 may represent athird-party webpage or resource hosted by a third-party system. Thethird-party webpage or resource may include, among other elements,content, a selectable or other icon, or other inter-actable object(which may be implemented, for example, in JavaScript, AJAX, or PHPcodes) representing an action or activity. As an example and not by wayof limitation, a third-party webpage may include a selectable icon suchas “like,” “check in,” “eat,” “recommend,” or another suitable action oractivity. A user viewing the third-party webpage may perform an actionby selecting one of the icons (e.g., “eat”), causing a client system tosend to the social-networking service a message indicating the user'saction. In response to the message, the social-networking service maycreate an edge (e.g., an “eat” edge) between a user node 1002corresponding to the user and a concept node 1004 corresponding to thethird-party webpage or resource and store edge 1006 in one or more datastores.

In particular embodiments, a pair of nodes in social graph 1000 may beconnected to each other by one or more edges 1006. An edge 1006connecting a pair of nodes may represent a relationship between the pairof nodes. In particular embodiments, an edge 1006 may include orrepresent one or more data objects or attributes corresponding to therelationship between a pair of nodes. As an example and not by way oflimitation, a first user may indicate that a second user is a “friend”of the first user. In response to this indication, the social-networkingservice may send a “friend request” to the second user. If the seconduser confirms the “friend request,” the social-networking service maycreate an edge 1006 connecting the first user's user node 1002 to thesecond user's user node 1002 in social graph 1000 and store edge 1006 associal-graph information in one or more data stores. In the example ofFIG. 10, social graph 1000 includes an edge 1006 indicating a friendrelation between user nodes 1002 of user “Amanda” and user “Bryan” andan edge indicating a friend relation between user nodes 1002 of user“Carla” and user “Bryan.” Although this disclosure describes orillustrates particular edges 1006 with particular attributes connectingparticular user nodes 1002, this disclosure contemplates any suitableedges 1006 with any suitable attributes connecting user nodes 1002. Asan example and not by way of limitation, an edge 1006 may represent afriendship, family relationship, business or employment relationship,fan relationship, follower relationship, visitor relationship,subscriber relationship, superior/subordinate relationship, reciprocalrelationship, non-reciprocal relationship, another suitable type ofrelationship, or two or more such relationships. Moreover, although thisdisclosure generally describes nodes as being connected, this disclosurealso describes users or concepts as being connected. Herein, referencesto users or concepts being connected may, where appropriate, refer tothe nodes corresponding to those users or concepts being connected insocial graph 1000 by one or more edges 1006.

In particular embodiments, an edge 1006 between a user node 1002 and aconcept node 1004 may represent a particular action or activityperformed by a user associated with user node 1002 toward a conceptassociated with a concept node 1004. As an example and not by way oflimitation, as illustrated in FIG. 10, a user may “like,” “attended,”“played,” “listened,” “cooked,” “worked at,” or “watched” a concept,each of which may correspond to a edge type or subtype. Aconcept-profile page corresponding to a concept node 1004 may include,for example, a selectable “check in” icon (such as, for example, aclickable “check in” icon) or a selectable “add to favorites” icon.Similarly, after a user clicks these icons, the social-networkingservice may create a “favorite” edge or a “check in” edge in response toa user's action corresponding to a respective action. As another exampleand not by way of limitation, a user (user “Carla”) may listen to aparticular song (“Across the Sea”) using a particular application(SPOTIFY, which is an online music application). In this case, thesocial-networking service may create a “listened” edge 1006 and a “used”edge (as illustrated in FIG. 9) between user nodes 1002 corresponding tothe user and concept nodes 1004 corresponding to the song andapplication to indicate that the user listened to the song and used theapplication. Moreover, the social-networking service may create a“played” edge 1006 (as illustrated in FIG. 10) between concept nodes1004 corresponding to the song and the application to indicate that theparticular song was played by the particular application. In this case,“played” edge 1006 corresponds to an action performed by an externalapplication (SPOTIFY) on an external audio file (the song “Across theSea”). Although this disclosure describes particular edges 1006 withparticular attributes connecting user nodes 1002 and concept nodes 1004,this disclosure contemplates any suitable edges 1006 with any suitableattributes connecting user nodes 1002 and concept nodes 1004. Moreover,although this disclosure describes edges between a user node 1002 and aconcept node 1004 representing a single relationship, this disclosurecontemplates edges between a user node 1002 and a concept node 1004representing one or more relationships. As an example and not by way oflimitation, an edge 1006 may represent both that a user likes and hasused at a particular concept. Alternatively, another edge 1006 mayrepresent each type of relationship (or multiples of a singlerelationship) between a user node 1002 and a concept node 1004 (asillustrated in FIG. 10 between user node 1002 for user “Edwin” andconcept node 1004 for “SPOTIFY”).

In particular embodiments, the social-networking service may create anedge 1006 between a user node 1002 and a concept node 1004 in socialgraph 1000. As an example and not by way of limitation, a user viewing aconcept-profile page (such as, for example, by using a web browser or aspecial-purpose application hosted by the user's client system) mayindicate that he or she likes the concept represented by the conceptnode 1004 by clicking or selecting a “Like” icon, which may cause theuser's client system to send to the social-networking service a messageindicating the user's liking of the concept associated with theconcept-profile page. In response to the message, the social-networkingservice may create an edge 1006 between user node 1002 associated withthe user and concept node 1004, as illustrated by “like” edge 1006between the user and concept node 1004. In particular embodiments, thesocial-networking service may store an edge 1006 in one or more datastores. In particular embodiments, an edge 1006 may be automaticallyformed by the social-networking service in response to a particular useraction. As an example and not by way of limitation, if a first useruploads a picture, watches a movie, or listens to a song, an edge 1006may be formed between user node 1002 corresponding to the first user andconcept nodes 1004 corresponding to those concepts. Although thisdisclosure describes forming particular edges 1006 in particularmanners, this disclosure contemplates forming any suitable edges 1006 inany suitable manner.

Some embodiments may be described using the expression “one embodiment”or “an embodiment” along with their derivatives. These terms mean that aparticular feature, structure, or characteristic described in connectionwith the embodiment is included in at least one embodiment. Theappearances of the phrase “in one embodiment” in various places in thespecification are not necessarily all referring to the same embodiment.Further, some embodiments may be described using the expression“coupled” and “connected” along with their derivatives. These terms arenot necessarily intended as synonyms for each other. For example, someembodiments may be described using the terms “connected” and/or“coupled” to indicate that two or more elements are in direct physicalor electrical contact with each other. The term “coupled,” however, mayalso mean that two or more elements are not in direct contact with eachother, but yet still co-operate or interact with each other.

With general reference to notations and nomenclature used herein, thedetailed descriptions herein may be presented in terms of programprocedures executed on a computer or network of computers. Theseprocedural descriptions and representations are used by those skilled inthe art to most effectively convey the substance of their work to othersskilled in the art.

A procedure is here, and generally, conceived to be a self-consistentsequence of operations leading to a desired result. These operations arethose requiring physical manipulations of physical quantities. Usually,though not necessarily, these quantities take the form of electrical,magnetic or optical signals capable of being stored, transferred,combined, compared, and otherwise manipulated. It proves convenient attimes, principally for reasons of common usage, to refer to thesesignals as bits, values, elements, symbols, characters, terms, numbers,or the like. It should be noted, however, that all of these and similarterms are to be associated with the appropriate physical quantities andare merely convenient labels applied to those quantities.

Further, the manipulations performed are often referred to in terms,such as adding or comparing, which are commonly associated with mentaloperations performed by a human operator. No such capability of a humanoperator is necessary, or desirable in most cases, in any of theoperations described herein which form part of one or more embodiments.Rather, the operations are machine operations. Useful machines forperforming operations of various embodiments include general purposedigital computers or similar devices.

Various embodiments also relate to apparatus or systems for performingthese operations. This apparatus may be specially constructed for therequired purpose or it may comprise a general purpose computer asselectively activated or reconfigured by a computer program stored inthe computer. The procedures presented herein are not inherently relatedto a particular computer or other apparatus. Various general purposemachines may be used with programs written in accordance with theteachings herein, or it may prove convenient to construct morespecialized apparatus to perform the required method steps. The requiredstructure for a variety of these machines will appear from thedescription given.

In the foregoing Detailed Description, it can be seen that variousfeatures are grouped together in a single embodiment for the purpose ofstreamlining the disclosure. This method of disclosure is not to beinterpreted as reflecting an intention that the claimed embodimentsrequire more features than are expressly recited in each claim. Rather,as the following claims reflect, inventive subject matter lies in lessthan all features of a single disclosed embodiment. Thus the followingclaims are hereby incorporated into the Detailed Description, with eachclaim standing on its own as a separate embodiment. In the appendedclaims, the terms “including” and “in which” are used as theplain-English equivalents of the respective terms “comprising” and“wherein,” respectively. Moreover, the terms “first,” “second,” “third,”and so forth, are used merely as labels, and are not intended to imposenumerical requirements on their objects.

What has been described above includes examples of the disclosedarchitecture. It is, of course, not possible to describe everyconceivable combination of components and/or methodologies, but one ofordinary skill in the art may recognize that many further combinationsand permutations are possible.

1. A computer-implemented method, comprising: receiving user credentialsat a mobile device kiosk; authenticating the received user credentials;upon authentication, transferring user data associated with the usercredentials to a mobile device of the mobile device kiosk, the user datais transferred between the mobile device kiosk and a wirelesstransmitter embedded on a printed circuit board (PCB) of the mobiledevice; and providing the mobile device to a user.
 2. The computerimplemented method of claim 1, the user data is transferred to themobile device without powering on the mobile device.
 3. Thecomputer-implemented method of claim 2, the user data including aninitialization flag used to instruct the mobile device to populate amemory of the mobile device with user profile information upon poweringon the mobile device.
 4. The computer-implemented method of claim 3, theprofile information including one or more of authentication data for auser account, photos, contact information for members of a social graph,login information for one or more services, browsing history, bookmarks,preferences, or advertising data.
 5. The computer-implemented method ofclaim 1, the wireless transmitter of the mobile device is an RFID moduleconfigured to communicate received user data to a non-volatile memory ofthe mobile device.
 6. The computer-implemented method of claim 5, theRFID module is configured to communicate with the non-volatile memoryover an inter-integrated circuit (I2C) bus.
 7. The computer-implementedmethod of claim 1, the user data including a virtual subscriber identitymodule (VSIM).
 8. A system, comprising: an authentication server; and amobile device kiosk, the mobile device kiosk including: an input moduleconfigured to accept user credentials for authentication with theauthentication server; and a wireless transmitter configured tocommunicate with a wireless transmitter embedded on a printed circuitboard (PCB) of a mobile device, the wireless transmitter furtherconfigured to, upon authentication with the authentication server,transfer user data associated with the user credentials to a mobiledevice of the mobile device kiosk.
 9. The system of claim 8, the userdata is transferred from the mobile device kiosk to the mobile devicewithout powering on the mobile device.
 10. The system of claim 9, theuser data including an initialization flag used to instruct the mobiledevice to populate a memory of the mobile device with user profileinformation upon powering on the mobile device.
 11. The system of claim10, the profile information including one or more of authentication datafor a user account, photos, contact information for members of a socialgraph, login information for one or more services, browsing history,bookmarks, preferences, or advertising data.
 12. The system of claim 8,the wireless transmitter of the mobile device is an RFID moduleconfigured to communicate received user data to a non-volatile memory ofthe mobile device.
 13. The system of claim 12, the RFID module isconfigured to communicate with the non-volatile memory over aninter-integrated circuit (I2C) bus.
 14. The system of claim 8, the userdata including a virtual subscriber identity module (VSIM).
 15. A mobiledevice comprising: a processing unit; and a printed circuit board (PCB)including: a non-volatile memory unit; and a wireless transmitter unitconfigured to accept user data from a wireless transmitter of a mobiledevice kiosk and instruct the processing unit to store the user data inthe non-volatile memory unit.
 16. The mobile device of claim 15, theuser data is accepted from the mobile device kiosk to the mobile devicewithout powering on the mobile device.
 17. The mobile device of claim16, the user data including an initialization flag used to instruct themobile device to populate a memory of the mobile device with userprofile information upon powering on the mobile device.
 18. The mobiledevice of claim 17, the profile information including one or more ofauthentication data for a user account, photos, contact information formembers of a social graph, login information for one or more services,browsing history, bookmarks, preferences, or advertising data.
 19. Themobile device of claim 15, the wireless transmitter of the mobile deviceis an RFID module configured to communicate received user data to anon-volatile memory of the mobile device.
 20. The mobile device of claim15, the PCB includes a plurality of vias that are positioned between thewireless transmitter and a source of interference, the plurality of viasextending from a top of the PCB to a layer of the PCB in whichinterference from the source of interference is below a thresholdamount.